Skip to main content

External Runners

External runners are an exciting way to extend the power of the Luna platform. They allow you to execute a contract outside of the Luna platform while retaining the scheduling, language flexibility and auditing of the Luna control plane.

In a normal deployment of Luna the execution of the contracts happens within the Luna platform. These contracts have access to the public internet but no private systems.

By deploying an external runner into your private environment you are able to write contracts that interact with your internal systems. This unlocks a whole new level of power. For example you could read customer data from an existing database or send outbound mail through your own mail servers. It also reduces the cost of using the Luna platform as your responsible for provisioning the compute. Luna retains responsibility for the control plane.

Further details

An external runner is packaged as a simple docker file. You retain responsibility for securely running this image within your environment. The image needs outbound connectivity to the internet but not inbound so can be deploying in a private subnet. The external runner opens an outbound connection to the Luna platform and polls for jobs which is executes and returns the results of to the Luna platform.